package com.itlong.cloud.property.dao;

import com.itlong.cloud.POJO.VO.property.CloudElevatorVO;
import com.itlong.cloud.POJO.VO.property.PropertyCloudServiceCostMessageVO;
import com.itlong.cloud.POJO.VO.property.PropertyDeviceAlarmInfoVO;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

/**
 * <desc>
 *      消费管理数据访问层接口
 * </desc>
 *
 * @createDate 2021/05/31
 **/
@Mapper
@Repository
public interface IPropertyDeviceAlarmDao {

    /**
     * <desc>
     *      根据告警id查询电梯相关信息
     * <desc/>
     *
     * @param  alarmId 告警ID
     * @return
     * @author Juguang.S
     * @createDate 2021-05-31
     */
    CloudElevatorVO getElevatorInfoByAlarmId(String alarmId);

    /**
     * <desc>
     *      获取设备告警消息推送列表。
     * <desc/>
     *
     * @param params
     * @return  返回推送消息列表
     * @author Juguang.S
     * @createDate 2021-06-07
     */
    List<PropertyDeviceAlarmInfoVO> getDeviceAlarmByPage(Map<String, Object> params);

    /**
     * <desc>
     *      获取设备告警消息推送列表数量。
     * <desc/>
     *
     * @param params
     * @return  数量
     * @author Juguang.S
     * @createDate 2021-06-07
     */
    Integer getDeviceAlarmByPageCount(Map<String, Object> params);

    /**
     * <desc>
     *      修改设备告警消息的状态。
     * <desc/>
     *
     * @param  params 参数
     * @return
     * @author Juguang.S
     * @createDate 2021-06-07
     */
    void updateMessageInfo(Map<String, Object> params);

}
